這篇文不會講太多進階應用(例如實際怎麼把它融入日常工作流),而是讓你透過 Cursor 這個 Host,快速了解如何把一個 MCP Server 新增到 Client 並跑起來玩!
Note: MCP Server 就是你想使用的第三方服務,像是 Github、Figma...
整個體驗流程分成四步:
要完成這次小體驗,你需要準備:
創好 notion 後,來創立這次要授權給 cursor 把玩的 workspace
我這裡先把新建的 workspace 改名為 Fake Company
接著我們要在 Notion 建立 Integration
建立方式如下:
去下面網址, 點選 New integration
https://www.notion.so/profile/integrations
接著選取剛剛創好的 workspace,並且 type 我們選 internal
完成後會出現這樣的畫面,我們可以先保持預設就好,接下來會用到 Insert Content 和 Read Content
我們先打開 cursor,可以先創建好一個空目錄,我們要開始設定要用的 MCP Server 了。
MCP Server 的設定需要修改 cursor/mcp.json
,有兩種方式可以操作:
手動打開並貼上設定。
操作流程如下:
Cursor 編輯器
└─ 右上角設定 ⚙️
└─ MCP & Integrations
└─ MCP Tools
└─ New MCP Server
↓
點了會自動打開 cursor/mcp.json
在這個檔案中,貼上對應的 MCP Server 配置:
{
"mcpServers": {
"notionApi": {
"command": "npx",
"args": ["-y", "@notionhq/notion-mcp-server"],
"env": {
"NOTION_TOKEN": "ntn_****"
}
}
}
}
NOTION_TOKEN 回到剛剛 new intergration 結果頁面,把Internal Integration Secret 複製貼上
(如果迷失的話回到 https://www.notion.so/profile/integrations Notion Integrations -> Configuration -> Internal Integration Secret)
設定完後就會看到以下畫面,他列出了所有該 MCP Server 提供的工具,很酷吧:
這樣就設定玩了!我們可以開始玩玩看,這裡只先舉一個簡單的案例。
初始化完成後,你就能在 Cursor 裡面操作 MCP Server。
我們這裡要玩的範例是,給定 code ,請 LLM 幫我們寫 System Design 並且新增文章到 Notion 給團隊使用,實務上可能還會請他先讀我們團隊的SD文件撰寫原則,但這裡為了方便Demo就不多做說明。
我在 curosr 編輯器中新建一個檔案: assassinsGuild.js
裡面有寫暗殺門派,以及暗殺門派可以新增暗殺目標、派出殺手執行暗殺、查看目前目標清單,請直接複製貼上就好:
// 暗殺門派類別
class AssassinsGuild {
constructor(name) {
this.name = name;
this.targets = []; // 紀錄要暗殺的人
}
// 新增暗殺目標
addTarget(targetName) {
if (!targetName) {
throw new Error("目標名稱不能是空的!");
}
this.targets.push(targetName);
console.log(`[${this.name}] 已經鎖定目標:${targetName}`);
}
// 派出殺手執行暗殺
sendAssassin() {
if (this.targets.length === 0) {
console.log(`[${this.name}] 沒有目標可以暗殺。`);
return;
}
const target = this.targets.shift(); // 取出最早鎖定的目標
console.log(`[${this.name}] 派出殺手成功暗殺了:${target}`);
}
// 查看目前目標清單
listTargets() {
console.log(`[${this.name}] 目前目標清單:`, this.targets);
}
}
// ==== 使用範例 ====
// 建立一個暗殺門派
const darkClan = new AssassinsGuild("暗殺大隊");
// 記錄暗殺目標
darkClan.addTarget("陳老大");
// 查看目前目標
darkClan.listTargets();
// 派出殺手
darkClan.sendAssassin();
// 再次查看清單
darkClan.listTargets();
接著我們來請 LLM 幫我們寫 SD,首先需要先打開對話框,我們會用對話框的方式請 Agent 處理,跟 Ask 模式不同的是 Agent 能替你執行一些行動,請點選右上角的:
打開後輸入以下 prompt
幫我在notion新增一個 title 是 assassinsGuld SD設計的文件, 並且根據 code 寫一篇 system design
接著請看結果:
很有趣的是如果遇到錯誤 LLM 也會自行修正
可以看到最後真的在 Notion 裡面新增了一份針對 assassinsGuild.js 的 SD 文件了:
以上就是簡單的體驗!你學會了嗎~
工作流上的應用我們不在這篇探討,會放到後續章節。我們明天見!
如果想探索更多和 Notion MCP 互動的方式可參閱文件:
https://developers.notion.com/docs/get-started-with-mcp
https://github.com/makenotion/notion-mcp-server
官方還能讓你用 HTTP 的方式與之互動,這裡的範例是用 Local Server 的方式